package com.example.design.adapter.classadapter;

/**
 * 类适配器角色
 *
 * 这种模式所涉及到目标角色、源角色、适配器角色以下几种角色：
 *
 * 目标角色：这就是所期待得到的角色。由于这里讨论的是类适配器模式，所以目标角色不可以是类，应该是一个接口
 * 源角色：需要适配的接口
 * 适配器角色：适配器角色是本模式的核心，适配器把源接口转换成目标接口。所以这一角色必须是一个具体的类
 *
 * 类适配器模式优缺点：
 *
 * 由于适配器类是源的子类，因此可以在适配器类中重写源角色的一些方法
 * 由于只引进一个适配器类，因此只有一个路线到达目标类，使问题得到简化
 * 正是由于适配器类是源角色的子类，而java是单继承的，如果有多个源需要适配，那这种方式就太过于繁琐了
 */
public class VoltageAdaptor extends Voltage220V implements Voltage5V {
    @Override
    public int output5V() {
        return output220V()/44;
    }
}
